matlab画三维图如何更改颜色,matlab画三维图像的示例代码(附demo) 您所在的位置:网站首页 matlab surf设置颜色 matlab画三维图如何更改颜色,matlab画三维图像的示例代码(附demo)

matlab画三维图如何更改颜色,matlab画三维图像的示例代码(附demo)

2024-07-11 10:28| 来源: 网络整理| 查看: 265

当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。

首先,我们用z=cos(x)sin(y)在-2pi ≤x,y≤ 2pi内的图像来看看:

[x,y] = meshgrid(-2*pi:0.1:2*pi);

z = cos(x).*sin(y);

mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

显示图像如下:

398b1b598935bf35158cfcad545b3186.png

同样用mesh命令产生z = ye-(x2+y2)的三维图像:

[x,y] = meshgrid(-2:0.1:2);

z = y.*exp(-x.^2-y.^2);

mesh(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

a4be4934e2d1438cee18a9ca441eee03.png

下面绘制表面带有渐变颜色的图像,可以通过 surf 和 surfc 命令实现,只要简单更改上面例子中的命令为:

surf(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

则图像如下所示,图像表面的颜色与高度是相称的:

e3be00585ad61c8599f3bb1c2abbd921.png

若使用surfc则会在图像中留下映像:

surfc(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

6a822171ca25a5ab012a30c4af00e2fe.png

还可以调用surfl(命令中的'l'表示这是一个光照表面 lighted surface)命令显示三维光照物体的表面,可以使用这个命令产生没有线条的三维图像,图像还可以是彩色的或灰度的。例如仍然产生函数z = ye-(x2+y2)的灰度图像,图像中的阴影可设置为flat、interp、faceted:

surfl(x,y,z),xlabel('x'),ylabel('y'),zlabel('z')

shading interp;

colormap(gray);

e5202a1cbcac6b532ca92719ab6375d2.png

下面我们使用matlab内置函数来产生像球形或圆柱形这样的基本图像,例如:

t = 0:pi/10:2*pi;

[X,Y,Z] = cylinder(1+sin(t));

surf(X,Y,Z),colormap('default');

axis square

会得到如下图像:

79bb8a3c68235c81a35469ec0212b688.png

试试另一个稍微有点不同的函数,阴影设置为faceted:

t = 0:pi/10:2*pi;

[X,Y,Z] = cylinder(1+cos(t));

surf(X,Y,Z),shading faceted;

axis square

77c22ffa577d71608b2b4fa019396e1d.png

若将阴影设置为shading flat,则图像显示为:

fe67ab31d2217cc0da78d84b875df719.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有